Conventional database systems often store large amounts of information. The information is typically classified into different classes of information called datatypes. Conventional database systems are often programmed to support specific datatypes called “predefined” datatypes. Example predefined datatypes include integer values, floating point numbers, characters, and strings. A user of a database system may wish to define additional datatypes called “user-defined datatypes” that are not native to the database system.